using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace Datos
{
    public class Materia: Coneccion
    {
        public Materia()
            : base()
        {
        }
        public Entidades.Materia getMateria(int id_materia)
        {
            Entidades.Materia materia= null;
            SqlCommand consulta = new SqlCommand("select * from materias where id_materia =@id", this.Conec);
            consulta.Parameters.Add("@id", SqlDbType.Int).Value = id_materia;
            this.Conec.Open();
            SqlDataReader reader = consulta.ExecuteReader();

            while (reader.Read())
            {
                materia = new Entidades.Materia();
                materia.IdMateria = int.Parse(reader["id_materia"].ToString());
                materia.Descripcion = reader["descripcion_materia"].ToString();
                materia.HorasSemanales = int.Parse(reader["horas_semanales"].ToString());
                materia.HorasTotales = int.Parse(reader["horas_totales"].ToString());
               
            }
            return materia;
        }
        public List<Entidades.Materia> getMaterias(int id_comision)
        {

            List<Entidades.Materia> materiaV = new List<Entidades.Materia>();
            Entidades.Materia materia;
            SqlCommand consulta = new SqlCommand("select * from materias where id_materia not in(select id_materia from cursado cu where cu.id_comision =@id_comision)", this.Conec);
            consulta.Parameters.Add("@id_comision", SqlDbType.Int).Value = id_comision;
            this.Conec.Open();
            SqlDataReader reader = consulta.ExecuteReader();

            while (reader.Read())
            {
                materia = new Entidades.Materia();
                materia.IdMateria = int.Parse(reader["id_materia"].ToString());
                materia.Descripcion = reader["descripcion_materia"].ToString();
                materia.HorasSemanales = int.Parse(reader["horas_semanales"].ToString());
                materia.HorasTotales = int.Parse(reader["horas_totales"].ToString());
                materiaV.Add(materia);
            }
            return materiaV;
            
        }
    }
}
